In a typical computer system, a keyboard and/or pointing device (such as a mouse) is used to enter data and commands into the computer. A monitor is used to display information to the user. In a desktop system, the keyboard and display are discrete components which are connected to the computer by means of a cable. In a laptop computer, the keyboard and display are designed as integral components of the computer case. In recent years, there has been interest in incorporating computers into small electronic devices such as cellular phones.
While electronic display technology has advanced to the point that small display screens are readily commercially available, there are practical limits when it comes to reducing the size of a keyboard. In small electronic devices, there may be insufficient space to incorporate a complete 101-key keypad as is found in a conventional desktop computer.
One solution to this problem is to display an image of a conventional 101-key keyboard on a computer display. The user can select or "press" keys by means of a pointing device such as a mouse, track ball, light pen, or touch screen. The computer uses a coordinate system to map the input points to specific keys on the keyboard. In general, the computer maps the input points to the nearest key character which may span a few pixels in height and width. Mapping input points to the nearest key coordinate means that the distance to all keys must be found before a decision can be made about which key is closest to the input point. Computing the distance between input points and each of the keys each time a key is selected requires a large number of calculations to be performed. Thus, processor time is devoted to mapping the input points to individual keys which could be spent performing other tasks.